﻿using System;


namespace InControl
{
	// @cond nodoc
	[AutoDiscover]
	public class BetopMacProfile : UnityInputDeviceProfile
	{
        public BetopMacProfile()
		{
            Name = "Betop Controller";
            Meta = "Betop Controller on Mac";

            IncludePlatforms = new[] {
				"OS X"
			};

			JoystickNames = new[] {
				"BETOP CONTROLLER",
                "BETOP (GAME FOR WINDOWS)",
                "BETOP (GAME For Windows)",
                "[BETOP CONTROLLER]",
                "[ BETOP CONTROLLER ]",
                "< BETOP GAME FOR WINDOWS >",
				" BETOP CONTROLLER"
			};

			ButtonMappings = new[] {
				new InputControlMapping {
					Handle = "3",
					Target = InputControlType.Action1,
					Source = Button2
				},
				new InputControlMapping {
					Handle = "2",
					Target = InputControlType.Action2,
					Source = Button1
				},
				new InputControlMapping {
					Handle = "4",
					Target = InputControlType.Action3,
					Source = Button3
				},
				new InputControlMapping {
					Handle = "1",
					Target = InputControlType.Action4,
					Source = Button0
				},
				new InputControlMapping {
					Handle = "Left Bumper",
					Target = InputControlType.LeftBumper,
					Source = Button4
				},
				new InputControlMapping {
					Handle = "Right Bumper",
					Target = InputControlType.RightBumper,
					Source = Button5
				},
				new InputControlMapping {
					Handle = "Left Trigger",
					Target = InputControlType.LeftTrigger,
					Source = Button6
				},
				new InputControlMapping {
					Handle = "Right Trigger",
					Target = InputControlType.RightTrigger,
					Source = Button7
				},
                new InputControlMapping {
                    Handle = "Right Stick Button",
                    Target = InputControlType.RightStickButton,
                    Source = Button11
                },
                new InputControlMapping {
					Handle = "B9",
					Target = InputControlType.Select,
					Source = Button8
				},
                new InputControlMapping {
                    Handle = "B10",
                    Target = InputControlType.Start,
                    Source = Button9
                },
                new InputControlMapping {
                    Handle = "B10",
                    Target = InputControlType.Back,
                    Source = Button12
                },
                new InputControlMapping {
					Handle = "Left Stick Button",
					Target = InputControlType.LeftStickButton,
					Source = Button10
				}
			};

			AnalogMappings = new[] {
				LeftStickLeftMapping( Analog0 ),
				LeftStickRightMapping( Analog0 ),
				LeftStickUpMapping( Analog1 ),
				LeftStickDownMapping( Analog1 ),

				RightStickLeftMapping( Analog2 ),
				RightStickRightMapping( Analog2 ),
				RightStickUpMapping( Analog3 ),
				RightStickDownMapping( Analog3 ),

				DPadLeftMapping( Analog4 ),
				DPadRightMapping( Analog4 ),
				DPadUpToDownMapping( Analog5 ),
				DPadDownToUpMapping( Analog5 ),
			};
		}
	}
	// @endcond
}

